توسعه نرم افزار به روش چابک (Agile)
1398/4/16
نوع: استارتاپ ها
نویسنده: سوده مسعودیان

Agile مجموعه‌ای از ارزش‌ها و اصول جهت توسعه نرم‌افزارهای کارا توسط تیم‌های خود سازمانده می‌باشد. ارزش‌ها و اصول چابک در سال 2001 توسط 17 نفر از اساتید معتبر جهانی طی بیانیه‌ای با عنوان «بیانیه توسعه چابک» تنظیم و ارائه گردید. اساس و هدف این اصول و ارزش‌ها ارائه نرم افزار کارا به مشتری می‌باشد.

ضعف‌های موجود در روش‌های سنتی 

ضعف‌های موجود در روش‌های سنتی لزوم خلق یک روش مدرن نرم‌افزاری را توسط اساتید ذکر شده باعث شد. در روش‌های سنتی نرم‌افزار به شکل فاز به فاز اجرا میشد و نتیجه کار از قبل به صورت یک طراحی اولیه دقیق پیش بینی می‌شد. در این حالت زمان زیادی صرف طراحی فاز اولیه پروژه می‌شد. این روند باعث می‌شد هزینه تغییرات بسیار بالا باشد و در نهایت به بالا رفتن زمان پروژه و عدم امکان تست محصول می‌انجامید.

توسعه چابک فرآیند توسعه نرم افزاری می باشد که در آن نرم افزار در چرخه های تکراری و تکاملی قرار می گیرد. در حالیکه روش های سنتی سعی بر آن دارند که روند توسعه و خروجی اولیه را برنامه ریزی نمایند، Agile فرآیند توسعه چابکی است که به توسعه دهندگان این امکان را می دهد تا مسیر توسعه را در طول پروژه تغییر دهند و بنابراین به سرعت به تغییر شرایط پاسخ دهند.

توسعه به روش چابک چهار اصل اساسی را دنبال می کند. در ادامه به تفصیل این چهار اصل را مورد بررسی قرار می دهیم.

1. افراد و تعاملات بالاتر از فرآیندها و ابزارها

2. نرم افزار کارکننده بالاتر از مستندات جامع

3. مشارکت مشتری بالاتر از قرارداد کاری

4. پاسخگویی به تغییرات بالاتر از پیروی از یک برنامه متوالی

اصول توسعه چابک

o رضایت مشتری از طریق تحویل سریع نرم افزار

o استقبال از تغییرات نیازمندیها، حتی در اواخر توسعه

o تحویل کار هفتگی و یا ماهانه

o توسعه پایدار قادر به حفظ سرعت ثابت است

o همکاری نزدیک بین افراد و توسعه دهندگان تیم

o سادگی کار

o خودساماندهی در تیم

o انطباق با تغییرات به طور منظم

Scrum یکی از گسترده ترین فرآیندهای توسعه چابک می باشد. در Scrum، تیم توسعه دهنده در کوتاه مدت بر اساس Sprint های کوتاه و در طول زمان پیش بینی شده اغلب بین یک هفته تا یک ماه کار می کنند. هر sprint با برنامه ریزی آغاز میشود. این در حالیست که محدوده کاری که در انتهای sprint باید انجام شود را تیم تعیین می کند. تیم روزانه جلسات کوتاهی برگزار کرده و تمامی اعضا کارهایی که در روز گذشته انجام داده اند، آنچه در طول روز جاری قرار است انجام شود، و هر مشکلی که با آن مواجه شده اند را شرح می دهند. به این ترتیب، امکان بزرگ شدن مشکلات از بین رفته و ریسک شکست پروژه کمتر می شود. در انتهای sprint، اعضای تیم روند پیشرفت را بررسی می کنند. این چرخه تکراری تا زمانی ادامه پیدا می کند که نسخه اولیه محصول آماده عرضه شود و در برخی موارد، پس از انتشار همچنان برای بهینه سازی کار خود را ادامه می دهد. 

لطفا برای افزودن نظر ورود یا ثبت نام کنید.